package com.battery.system.mapper;

import java.util.List;
import java.util.Map;

import com.battery.system.base.BaseMapper;
import com.battery.system.domain.BO.RefundApplyBO;
import com.battery.system.domain.RefundApply;
import com.battery.system.domain.VO.RefundApplyVO;
import org.apache.ibatis.annotations.Param;

/**
 * 订单退款申请Mapper接口
 *
 * @author battery
 * @date 2021-03-12
 */
public interface RefundApplyMapper extends BaseMapper<RefundApply> {

    /**
     * 查询订单退款申请
     *
     * @param id 订单退款申请ID
     * @return 订单退款申请
     */
    public RefundApply selectRefundApplyById(String id);

    /**
     * 查询订单退款申请列表
     *
     * @param refundApply 订单退款申请
     * @return 订单退款申请集合
     */
    public List<RefundApply> selectRefundApplyList(RefundApply refundApply);

    /**
     * 新增订单退款申请
     *
     * @param refundApply 订单退款申请
     * @return 结果
     */
    public int insertRefundApply(RefundApply refundApply);

    /**
     * 修改订单退款申请
     *
     * @param refundApply 订单退款申请
     * @return 结果
     */
    public int updateRefundApply(RefundApply refundApply);

    /**
     * 删除订单退款申请
     *
     * @param id 订单退款申请ID
     * @return 结果
     */
    public int deleteRefundApplyById(String id);

    /**
     * 批量删除订单退款申请
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteRefundApplyByIds(String[] ids);

    List<RefundApply> selectRefundApplyByPartner(@Param("map") Map<String, String> map);

    /**
     * @param refundApplyBO
     * @return
     */
    List<RefundApplyVO> selectRefundApplyVOList(@Param("refundApplyBO") RefundApplyBO refundApplyBO);
}
